package cn.chinaunicom.mini.program.dingtalk.events.model.callback;

import cn.chinaunicom.mini.program.dingtalk.events.model.AuthCorpInfo;
import cn.chinaunicom.mini.program.dingtalk.events.model.AuthInfo;
import cn.chinaunicom.mini.program.dingtalk.events.model.AuthScope;
import cn.chinaunicom.mini.program.dingtalk.events.model.AuthUserInfo;
import lombok.Getter;
import lombok.Setter;

/**
 * @ProjectName: dingtalk-adapter
 * @Package: cn.chinaunicom.mini.program.dingtalk.events.model
 * @ClassName: SuiteAuthCallbackData
 * @Description: 企业套件授权回调数据类, 用于存储和传递企业套件授权的相关信息，在回调处理过程中使用。
 * @Author: wangjc
 * @CreateDate: 2024/6/12
 * @UpdateUser: wangjc
 * @UpdateDate: 2024/6/12
 * @UpdateRemark: 更新内容
 * @Version: 1.0
 */
@Setter
@Getter
public class SuiteAuthCallbackData {
    /**
     * 企业信息
     * 包含授权企业的详细信息，如企业名称、企业ID等。
     */
    private AuthCorpInfo authCorpInfo;

    /**
     * 永久授权码
     * 企业在授权过程中获取的，用于后续换取授权信息的唯一标识。
     */
    private String permanentCode;

    /**
     * 授权用户信息
     * 包含授权的用户详细信息，如用户名、用户ID等。
     */
    private AuthUserInfo authUserInfo;

    /**
     * 授权范围
     * 描述了应用在企业内的授权范围，如访问哪些部门、哪些用户的数据等。
     */
    private AuthScope authScope;

    /**
     * 授权信息
     * 包含应用的授权详情，如授权有效期、授权范围等。
     */
    private AuthInfo authInfo;
}


